package com.wondertek.poms.service.vo;

import javax.validation.constraints.NotBlank;
import javax.validation.groups.Default;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wondertek.poms.common.utils.validate.GroupType;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p><b>SyncTaskVo Description:</b> SyncTaskVo类  对应 sync_task-  表</p>
 * @author 窦再兴
 * <p><b>DATE</b> 2020-10-21 13:50:43</p>
 */
 @Data
public class SyncTaskVo {
	
	/**
	 * <b>Fields</b> id : id
	 */
	@Range(message = "id的范围是[0-9]", min=0, max=9, groups = {Default.class})
	private Integer id;
	
	/**
	 * <b>Fields</b> accessId : ACCESS_ID
	 */
	@NotBlank(message = "ACCESS_ID不能为空", groups = {Default.class})
	@Length(message = "ACCESS_ID长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String accessId;
	
	/**
	 * <b>Fields</b> accessPlatformId : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String accessPlatformId;
	
	/**
	 * <b>Fields</b> accessPlatformType : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String accessPlatformType;
	
	/**
	 * <b>Fields</b> accessPwd : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String accessPwd;
	
	/**
	 * <b>Fields</b> accessSeq : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String accessSeq;
	
	/**
	 * <b>Fields</b> accesstime : 
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.time.LocalDateTime accesstime;
	
	/**
	 * <b>Fields</b> actiontype : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String actiontype;
	
	/**
	 * <b>Fields</b> basePath : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String basePath;
	
	/**
	 * <b>Fields</b> contentId : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String contentId;
	
	/**
	 * <b>Fields</b> cpId : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String cpId;
	
	/**
	 * <b>Fields</b> distResult : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过1,024个字节", max=1024, groups = {Default.class, GroupType.Update.class})
	private String distResult;
	
	/**
	 * <b>Fields</b> endtime : 
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.time.LocalDateTime endtime;
	
	/**
	 * <b>Fields</b> failReason : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过1,024个字节", max=1024, groups = {Default.class, GroupType.Update.class})
	private String failReason;
	
	/**
	 * <b>Fields</b> fileIds : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String fileIds;
	
	/**
	 * <b>Fields</b> needBc : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过1,024个字节", max=1024, groups = {Default.class, GroupType.Update.class})
	private String needBc;
	
	/**
	 * <b>Fields</b> notifytype : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String notifytype;
	
	/**
	 * <b>Fields</b> offlineStatus : 
	 */
	@Range(message = "的范围是[0-9]", min=0, max=9, groups = {Default.class})
	private Integer offlineStatus;
	
	/**
	 * <b>Fields</b> oprCode : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String oprCode;
	
	/**
	 * <b>Fields</b> oprTime : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String oprTime;
	
	/**
	 * <b>Fields</b> priority : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String priority;
	
	/**
	 * <b>Fields</b> remoteip : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String remoteip;
	
	/**
	 * <b>Fields</b> respTime : 
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.time.LocalDateTime respTime;
	
	/**
	 * <b>Fields</b> resultCode : 
	 */
	@Range(message = "的范围是[0-9]", min=0, max=9, groups = {Default.class})
	private Integer resultCode;
	
	/**
	 * <b>Fields</b> resultdesc : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String resultdesc;
	
	/**
	 * <b>Fields</b> servType : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String servType;
	
	/**
	 * <b>Fields</b> starttime : 
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.time.LocalDateTime starttime;
	
	/**
	 * <b>Fields</b> status : 
	 */
	@Range(message = "的范围是[0-9]", min=0, max=9, groups = {Default.class})
	private Integer status;
	
	/**
	 * <b>Fields</b> syncMode : 
	 */
	@Range(message = "的范围是[0-9]", min=0, max=9, groups = {Default.class})
	private Integer syncMode;
	
	/**
	 * <b>Fields</b> syncTime : 
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.time.LocalDateTime syncTime;
	
	/**
	 * <b>Fields</b> updateFields : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过128个字节", max=128, groups = {Default.class, GroupType.Update.class})
	private String updateFields;
	
	/**
	 * <b>Fields</b> version : 
	 */
	@NotBlank(message = "不能为空", groups = {Default.class})
	@Length(message = "长度不能超过32个字节", max=32, groups = {Default.class, GroupType.Update.class})
	private String version;
}